package com.ship.dispatch.model;

import com.ship.common.core.mapping.Label;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 年度 计划方案表
 *
 * @author AbyssRabbit@163.com
 * @since 2023-10-17
 */
@Data
public class SpYearPlanSchemeModel implements Serializable {

    /**
     * 资源合同
     */
    @NotNull(message = "请选择资源合同")
    private Long conId;

    /**
     * 装载港id数组，loadingSort:[1,2...]
     */
    @NotNull(message = "请选择装载港")
    private List<Long> loadingSort;

    /**
     * 货量
     */
    private BigDecimal goodsQuantity = BigDecimal.ZERO;

    /**
     * 船速
     */
    @NotNull(message = "请输入船速")
    private BigDecimal speed;

    /**
     * 卸载港id数组，unloadSort:[1,2...]
     */
    private List<Long> unloadSort;

    /**
     * 货数（船）
     */
    private Integer goodsNum;

    /**
     * 船型起
     */
    private BigDecimal shipModelStart;

    /**
     * 船型止
     */
    private BigDecimal shipModelEnd;

    /**
     * 油耗
     */
    private BigDecimal oilConsumption;

    /**
     * 船旗国数组，flagState:[中国，俄罗斯...]
     */
    private List<String> flagState;

    /**
     * 指定船舶，船舶imo数组，imo:[1,2...]
     */
    private List<String> imo;

    /**
     * 装载月份数组，loadMonth:[1,2...]
     */
    private List<Integer> loadMonth;

    /**
     * 途径海峡（多个用英文“,”分隔）
     */
    private String passStrait;

    /**
     * 途径海区（多个用英文“,”分隔）
     */
    private String passArea;

    /**
     * 货量单位(1:MMBtu,2:m³,3:MT)
     */
    @Label(value = "货量单位",enumContent = "装卸载量单位",multiSelect = true)
    private Integer quantityUnit;
}
